<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>demo</title>


</head>


<body>
<div id="box">
</div>
</body>
<script type="text/javascript">


// let { foo, bar } = { foo: 'aaa', bar: 'bbb' };
// console.log(foo); // aaa
// console.log(bar); // bbb
// //对象的解构与数组有一个重要的不同。数组的元素是按次序排列的，变量的取值由它的位置决定；而对象的属性没有次序，变量必须与属性同名，才能取到正确的值。
// let { name } = { name1: 'tom12', age: 20 };
// console.log(name); // undefined
// //如果变量名与属性名不一致，可以用as关键字给变量起别名。
// // let { name: myName } = { name: 'tosam', age: 20 };
// // console.log(myName); // tosam


// let obj = {
//   p: [
//     'Hello',
//     { y: 'World' }
//   ]
// };
// let { p, p: [x, { y }] } = obj;
// x // "Hello"
// y // "World"
// p // ["Hello", {y: "World"}]
// console.log(x, y, p);

// const node = {
//   loc: {
//     start: {
//       line: 1,
//       column: 5
//     }
//   }
// };
// let { loc} = node;
// console.log(loc, ); // { start: { line: 1, column: 5 } } { line: 1, column: 5 } 1

// 正确的写法
let x;
({x} = {x: 1});
console.log(x); // 1
</script>

</html>